package cn.stylefeng.guns.kernel.auth.api;

import cn.stylefeng.roses.kernel.auth.api.SsoServerApi;
import cn.stylefeng.roses.kernel.auth.api.pojo.sso.SsoLoginCodeRequest;
import cn.stylefeng.roses.kernel.jwt.JwtTokenOperator;
import cn.stylefeng.roses.kernel.jwt.api.JwtApi;
import cn.stylefeng.roses.kernel.jwt.api.pojo.config.JwtConfig;
import com.alibaba.csp.sentinel.util.StringUtil;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;

/**
 * @author eomer
 * @title SsoServerApiImpl
 * @date 2023/08/05 20:48
 * @description 单点登录校验
 */
@Service
public class SsoServerApiImpl implements SsoServerApi {

    /**
     * 校验账号密码是否正确，创建sso登录编码
     *
     * @param ssoLoginCodeRequest 账号和密码
     * @return ssoLoginCode，用在单点登录
     * @author eomer
     * @since 2023/08/05 20:49
     */
    @Override
    public String createSsoLoginCode(SsoLoginCodeRequest ssoLoginCodeRequest) {
        // 登录成功后 获取秘钥

        // todo 登录校验码 , 后续补充 校验规则，生成校验码
        JwtConfig jwtConfig = new JwtConfig();
        jwtConfig.setJwtSecret("secret");
        jwtConfig.setExpiredSeconds(3600L);
        JwtApi jwtApi = new JwtTokenOperator(jwtConfig);
        String jwt = jwtApi.generateToken(new HashMap<>());

        return jwt;
    }
}

